package co.inventario.modelo.negocio;

import java.sql.Connection;
import java.sql.SQLException;
import java.util.ArrayList;

import co.inventario.datos.sqlserver.EmpleadoDAOSQLServer;
import co.inventario.entidad.EmpleadoDTO;

public class EmpleadoNegocio {

	public void crear(EmpleadoDTO empleadoDTO, Connection connection) throws Exception, SQLException {
		EmpleadoDAOSQLServer empleadoDAOSQLServer = new EmpleadoDAOSQLServer();
		EmpleadoDTO empleadoDTOConsultado = empleadoDAOSQLServer.consultarPorIdentificacion(empleadoDTO, connection);
		if (empleadoDTOConsultado == null) {
			empleadoDAOSQLServer.crear(empleadoDTO, connection);
		} else {
			throw new Exception("El Empleado que intenta crear ya existe.");
		}
	}

	public void actualizar(EmpleadoDTO empleadoDTO, Connection connection) throws Exception, SQLException {
		EmpleadoDAOSQLServer empleadoDAOSQLServer = new EmpleadoDAOSQLServer();
		EmpleadoDTO empleadoDTOConsultado = empleadoDAOSQLServer.consultarPorCodigo(empleadoDTO, connection);
		if (empleadoDTOConsultado != null) {
			empleadoDAOSQLServer.actualizar(empleadoDTO, connection);
		} else {
			throw new Exception("El Empleado que intenta actualizar no existe.");
		}
	}

	public EmpleadoDTO consultarPorCodigo(EmpleadoDTO empleadoDTO, Connection connection) throws Exception, SQLException {
		EmpleadoDAOSQLServer empleadoDAOSQLServer = new EmpleadoDAOSQLServer();
		EmpleadoDTO empleadoDTOConsultado = empleadoDAOSQLServer.consultarPorCodigo(empleadoDTO, connection);
		return empleadoDTOConsultado;
	}

	public ArrayList<EmpleadoDTO> consultarTodo(Connection connection) throws Exception, SQLException {
		EmpleadoDAOSQLServer empleadoDAOSQLServer = new EmpleadoDAOSQLServer();
		ArrayList<EmpleadoDTO> empleadoDTOLista = empleadoDAOSQLServer.consultarTodo(connection);
		return empleadoDTOLista;
	}
}
